This specification related to search engines
A search engine may generally be described as any program that executes a search and retrieves stored data. However, based on the task at hand, a search engine can be configured in a variety of different ways. For example, some search engines may be configured to perform keyword-based search and retrieval. Such search engines may identify relevant search results based, at least in part, on the number of times a search term appears in a particular resource, or the particular resource's metadata. Alternatively, or in addition, some search engines may identify relevant search results by identifying an entity name that is associated with one or more search terms, and then determining the number of occurrences of the entity name in one or more particular resources. In such instances, relevant search results may be obtained based on the number of occurrences of the entity name in the one or more particular resources. The aforementioned ways that a search engine can identify search results responsive to a query are merely exemplary.
A search engine can also be configured to improve a search system by configuring the way that stored data is managed. Stored data can be managed for example by using particular data structures that can improve the operation of a search engine by helping a system identify useful data that they system, or a user of the system, may not otherwise have found and used if not for the particular way in which the underlying data was managed.